]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
2 years agolookingGlass: Clean up the stylesheet and improve visuals overall
Sam Hewitt [Thu, 11 Jul 2024 16:53:04 +0000 (14:23 -0230)]
lookingGlass: Clean up the stylesheet and improve visuals overall

- shuffle stylesheet around for readability
- change names and classes of elements to be consistent
- added style classes to window list elements so they can be styled
- make sure all elements follow OSD style even in light theme
- clean out some old styles

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7746
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3412>

2 years agoosk-layouts: Fixed Persian OSK
Sohrab Behdani [Tue, 9 Jul 2024 18:54:04 +0000 (22:24 +0330)]
osk-layouts: Fixed Persian OSK

Remove duplicate and unnecessary keys, and add missing ones
(e.g. ZWNJ).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3409>

2 years agolookingGlass: Include ScrollView in inspector styling
Florian Müllner [Thu, 11 Jul 2024 17:39:04 +0000 (19:39 +0200)]
lookingGlass: Include ScrollView in inspector styling

All styling currently happens on the ScrollView child, which
means that instead of a scrollbar inside the dialog to move
the content, we have a scrollbar next to the dialog that moves
the dialog as a whole.

Fix this by simply moving the style classes to the up-most parent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3414>

2 years agolookingGlass: Stop setting font programmatically
Florian Müllner [Thu, 11 Jul 2024 17:21:05 +0000 (19:21 +0200)]
lookingGlass: Stop setting font programmatically

Instead, use CSS to request a monospace font selectively where
it makes sense (the evaluator).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7776
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3413>

2 years agoGtkNotificationDaemon: Add ActionInvoked signal
Julian Sparber [Wed, 17 Apr 2024 10:40:49 +0000 (12:40 +0200)]
GtkNotificationDaemon: Add ActionInvoked signal

For the notification portal we need to provide the option to use unexported
actions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3382>

2 years agoaccessDialog: Restrict senders
Florian Müllner [Thu, 11 Jul 2024 11:36:25 +0000 (13:36 +0200)]
accessDialog: Restrict senders

Now that we no longer provide a portal implementation ourselves,
the only expected callers are the GNOME portal implementation
and (since recently) the remote desktop daemon.

Make that explicit and restrict callers to these senders, like
we do for other D-Bus APIs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3411>

2 years agoscreencastService: Add gstreamer pipeline for h264 encoding on hardware
Jonas Dreßler [Sun, 22 Jan 2023 18:29:23 +0000 (19:29 +0100)]
screencastService: Add gstreamer pipeline for h264 encoding on hardware

Try h264 on intel and AMD hardware using VA-API, using vapostproc
to do the color conversion using specialized hardware. We're not adding
a vaapi pipeline using the color conversion GL shader here, as vapostproc
color conversion should be better suited for anything needed by vaapi
based encoders/decoders.

A capsfilter is used to enforce the use of DMAbuf (memory:DMABuf) with
the new explicit modifier API (format=DMA_DRM).

Also, we're using the new va* gst elements instead of the vaapi* ones
here, as the vaapi* elements are deprecated, while the va* elements are
actively maintained.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2080>

2 years agost: Setup color state on nested paint contexts
Jonas Ådahl [Fri, 7 Jun 2024 22:16:06 +0000 (00:16 +0200)]
st: Setup color state on nested paint contexts

This requires plumbing the parent paint context around, to get the
current color state of the paint context.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3363>

2 years agost: Adapt to the paint_node() vfunc passing a paint context
Jonas Ådahl [Fri, 7 Jun 2024 22:14:28 +0000 (00:14 +0200)]
st: Adapt to the paint_node() vfunc passing a paint context

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3363>

2 years agost: Replace 'material' with 'pipeline'
Jonas Ådahl [Tue, 28 May 2024 14:14:51 +0000 (16:14 +0200)]
st: Replace 'material' with 'pipeline'

'Material' is an old name for the same Cogl concept, but lets use the
current naming to avoid confusion.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3363>

2 years agoUpdate Hindi translation
Scrambled 777 [Fri, 5 Jul 2024 17:13:54 +0000 (17:13 +0000)]
Update Hindi translation

2 years agoUpdate Georgian translation
Ekaterine Papava [Fri, 5 Jul 2024 04:19:54 +0000 (04:19 +0000)]
Update Georgian translation

2 years agoBump version to 47.alpha
Florian Müllner [Sat, 29 Jun 2024 10:43:59 +0000 (12:43 +0200)]
Bump version to 47.alpha

Update NEWS.

2 years agopopupMenu: Center-align switches
Florian Müllner [Sat, 29 Jun 2024 19:21:29 +0000 (21:21 +0200)]
popupMenu: Center-align switches

The default align of FILL was fine with the asset-based switches,
as the image would still keep its fixed height. But after the switch
to a pure CSS implementation, the alignment now results in stretched
switches. Fix this by explicitly center-aligning the widget.

Close: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7745
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3403>

2 years agotests/fittsy: Await leisure before checking fittsiness
Jonas Ådahl [Fri, 28 Jun 2024 21:01:12 +0000 (23:01 +0200)]
tests/fittsy: Await leisure before checking fittsiness

Not until we've waited for leisure can we make precise assumptions about
otherwise animated actors sizes and positions, so do that before
checking fittsiness.

This should fix the flakyness of the fittsy test case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3398>

2 years agoshell-util: Fix a memory leak of a floating variant on error
Philip Withnall [Fri, 28 Jun 2024 16:06:31 +0000 (17:06 +0100)]
shell-util: Fix a memory leak of a floating variant on error

If `params` is floating when provided by the caller, and if one of the
early return paths is taken from this function, the call into GIO never
sinks and takes ownership of the `GVariant`, and hence it’s leaked.

Always explicitly sink the input variant as soon as the function is
called, then it can’t be leaked.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3396>

2 years agoUpdate Hebrew translation
Yosef Or Boczko [Fri, 28 Jun 2024 07:32:48 +0000 (07:32 +0000)]
Update Hebrew translation

2 years agoshell/global: Stop tracking xdisplay/input-region
Bilal Elmoussaoui [Thu, 27 Jun 2024 07:38:23 +0000 (09:38 +0200)]
shell/global: Stop tracking xdisplay/input-region

Instead, let mutter do that

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3362>

2 years agobuild: Allow to disable x11
Bilal Elmoussaoui [Wed, 26 Jun 2024 12:40:04 +0000 (14:40 +0200)]
build: Allow to disable x11

By detecting whether libmutter was built with x11 or xwayland support
and disabling relavant code paths

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3362>

2 years agoRemove obsolete/unnecessary includes
Bilal Elmoussaoui [Wed, 26 Jun 2024 12:37:42 +0000 (14:37 +0200)]
Remove obsolete/unnecessary includes

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3362>

2 years agoci: Temporarily disable commits containing MR link lint
Bilal Elmoussaoui [Thu, 27 Jun 2024 13:41:31 +0000 (15:41 +0200)]
ci: Temporarily disable commits containing MR link lint

To be reverted once marge is back

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3362>

2 years agoworkspace: Use better window check option in existing code
Sundeep Mediratta [Sun, 23 Jun 2024 19:12:34 +0000 (15:12 -0400)]
workspace: Use better window check option in existing code

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3386>

2 years agoworkspace: Initialize overview windows correctly in constructor
Sundeep Mediratta [Sun, 23 Jun 2024 14:12:51 +0000 (10:12 -0400)]
workspace: Initialize overview windows correctly in constructor

Currently overview windows added in workspace constructor lack monitoring
the skip-taskbar property. All other windows added after this have
this monitoring.

This uses existing code to correctly add the signal and removes all redundant
code.

It also insures all transients are handled correctly on initialization using
the existing code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3386>

2 years agoBump mutter API version
Florian Müllner [Sat, 22 Jun 2024 17:45:00 +0000 (19:45 +0200)]
Bump mutter API version

It's time :-)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3385>

2 years agoworkspacesView: Make active workspace above siblings
Keyu Tao [Thu, 20 Jun 2024 15:09:27 +0000 (23:09 +0800)]
workspacesView: Make active workspace above siblings

If there's a window flowing over the left edge in a workspace, the
animation of showing or hiding overview in the left adjacent workspace
would glitch, as the window would appear or disappear suddenly.

This commits tries to fix it by making sure the active workspace are
above other workspaces when updating workspaces or active workspace
changed in workspacesView.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7364
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3378>

2 years agotests: Stop using nested test backend
Jonas Ådahl [Sun, 16 Jun 2024 20:28:51 +0000 (22:28 +0200)]
tests: Stop using nested test backend

It is replaced with a new test backend that uses the native backend
running in headless mode.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3373>

2 years agost/theme-node-drawing: Factor in border radius in update_resources()
Jonas Dreßler [Thu, 6 Jun 2024 15:13:27 +0000 (18:13 +0300)]
st/theme-node-drawing: Factor in border radius in update_resources()

The reduced border radius from st_theme_node_reduce_border_radius() depends
on the allocation size, and when it changes, has_large_corners can change.
has_large_corners is used to determine whether to pre-render using cairo,
so that means a change to the allocation size can influence whether the
pre-render using cairo should happen or not.

On changes to the allocation size we don't want to call render_resources()
though, but just update_resources() instead. And since we know now that
changes to the allocation size might cause pre-rendering to get enabled
or disabled, we need to do the "should pre-render" checks in
update_resources(), too.

So factor out those "should pre-render" checks into a new function
st_theme_node_maybe_prerender_background(), and then call that function from
both render_resources() and update_resources().

This fixes rendering artifacts with borders or rounded corners after changes
to the actor size.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6567
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3354>

2 years agost/theme-node: Fix potential NULL pointer dereferences
Florian Müllner [Fri, 21 Jun 2024 00:36:39 +0000 (02:36 +0200)]
st/theme-node: Fix potential NULL pointer dereferences

If the new CSS functions added in commit c593aecbde3
are used wrongly, an expected argument may be missing.

The code checks for that, but only after dereferencing
it to assign the next argument. Fix that by splitting
up the checks.

Spotted by coverity.
CID: #462818
Fixes: c593aecbde ("st/theme-node: Implement extensions for accent
color")

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3380>

2 years agoextensions-app: Link to GitLab Issues instead of New Issue URL
Balló György [Thu, 20 Jun 2024 12:59:34 +0000 (12:59 +0000)]
extensions-app: Link to GitLab Issues instead of New Issue URL

When not logged in, the New Issue URL only redirects to an unhelpful
login page while the Issues page allows you to search for existing
issues and still offers a "New Issue" button.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3377>

2 years agotheme: Support accent color
Alice Mikhaylenko [Sun, 9 Jun 2024 14:33:43 +0000 (18:33 +0400)]
theme: Support accent color

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2715>

2 years agotheme: Use transparent text selection
Alice Mikhaylenko [Sun, 9 Jun 2024 13:54:13 +0000 (17:54 +0400)]
theme: Use transparent text selection

Match libadwaita.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2715>

2 years agost/theme-node: Implement extensions for accent color
Alice Mikhaylenko [Tue, 21 Mar 2023 20:02:51 +0000 (00:02 +0400)]
st/theme-node: Implement extensions for accent color

Add -st-accent-color and -st-fg-accent-color so that these colors can be
accessed from CSS.

Since they are often transformed in SCSS atm, add st-transparentize(),
st-mix(), st-lighten(), st-darken() that work in runtime.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2715>

2 years agost/theme-context: Expose accent color
Alice Mikhaylenko [Tue, 21 Mar 2023 19:00:15 +0000 (23:00 +0400)]
st/theme-context: Expose accent color

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2715>

2 years agost/settings: Add :accent-color
Alice Mikhaylenko [Tue, 21 Mar 2023 18:59:39 +0000 (22:59 +0400)]
st/settings: Add :accent-color

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2715>

2 years agobarLevel: Update cached style values before chaining up
Florian Müllner [Thu, 20 Jun 2024 12:32:17 +0000 (14:32 +0200)]
barLevel: Update cached style values before chaining up

St.DrawingArea emits the `repaint` signal on style changes, so
if we chain up first, drawing still happens with the previously
cached values.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3376>

2 years agoswitch: Make handle draggable
Daniel Ruiz de Alegría [Tue, 21 Jan 2020 10:30:42 +0000 (11:30 +0100)]
switch: Make handle draggable

Listen to state changes for switch menu items, since they can also be
changed without activating them now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2717>

2 years agoswitch: Animate transitions
Daniel Ruiz de Alegría [Tue, 7 May 2019 14:23:11 +0000 (16:23 +0200)]
switch: Animate transitions

Use a constraint align instead of :x-align to animate it. Match GTK
duration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2717>

2 years agoswitch: Add hover styles
Alice Mikhaylenko [Tue, 18 Jun 2024 17:39:06 +0000 (21:39 +0400)]
switch: Add hover styles

Same as checkboxes.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6455

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2717>

2 years agoswitch: Style switches with pure CSS
Daniel Ruiz de Alegría [Tue, 7 May 2019 13:20:59 +0000 (15:20 +0200)]
switch: Style switches with pure CSS

Drop hardcoded assets, have a handle actor instead, change its align to
move it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2717>

2 years agocheckBox: Reimplement styles in CSS
Alice Mikhaylenko [Wed, 22 Mar 2023 22:25:40 +0000 (02:25 +0400)]
checkBox: Reimplement styles in CSS

Stop using SVG assets other than the actual check icon. This will help
making it recolorable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2717>

2 years agostyle: Fix background color issue with menuitems
Sam Hewitt [Mon, 13 May 2024 15:52:36 +0000 (13:22 -0230)]
style: Fix background color issue with menuitems

- fix missing submenu bg colors
- add submenu color definitions

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7570
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3311>

2 years agoci: Bump mutter image
Florian Müllner [Wed, 19 Jun 2024 18:18:45 +0000 (20:18 +0200)]
ci: Bump mutter image

Pull in an up-to-date gsettings-desktop-schemas for the new
`accent-color` setting.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3375>

2 years agost: Switch to render nodes
Georges Basile Stavracas Neto [Thu, 10 Dec 2020 20:21:11 +0000 (17:21 -0300)]
st: Switch to render nodes

Switch to render nodes. Most of the changes follow the pattern of
replacing a cogl_framebuffer_draw_*() call by (1) creating a paint
node, and (2) calling the corresponding clutter_paint_node_add_*()
API.

StWidget now overrides ClutterActor.paint_node(), instead of paint.
All subclasses that overrided the paint vfunc also are changed to
override paint_node.

The entry point for CSS rendering, st_widget_paint_background(), now
receives a root ClutterPaintNode, and propagates it to the rendering
machinery.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1538>

2 years agoui/animation: Fix a de-ClutterColor fallout
Bilal Elmoussaoui [Fri, 14 Jun 2024 17:06:39 +0000 (19:06 +0200)]
ui/animation: Fix a de-ClutterColor fallout

Fixes: 7f0b1e98c ("cleanup: Adapt to removed ClutterColor")
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7722

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3371>

2 years agogdm/util: Cleanup CredentialManager on successful verification
Alessandro Bono [Tue, 16 Apr 2024 15:10:53 +0000 (17:10 +0200)]
gdm/util: Cleanup CredentialManager on successful verification

CredentialManagers emit a user-authenticated signal with a token
upon a successful authentication. This marks the service as preempting
and will be used for the next login/unlock request. However, the
preempting service is not cleaned after a successful verification.
As a consequence, it will be picked on a second unlock request.

This doesn't happen after a succesful login request because there
is a transition from the gnome-shell process owened by GDM to the
one owned by the user.

Clean the preempting service on a successful verification, like we
do when the PAM conversation stops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3291>

2 years agogdm/util: Simplify code
Alessandro Bono [Wed, 1 May 2024 18:00:49 +0000 (20:00 +0200)]
gdm/util: Simplify code

This avoids iterating and checking if a service is foreground
multiple times.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3291>

2 years agoextensions-app: Substitute gettext package in metainfo
Balló György [Wed, 12 Jun 2024 21:54:21 +0000 (23:54 +0200)]
extensions-app: Substitute gettext package in metainfo

The gettext domain name can be configured in meson options, but defaults
to 'gnome-shell' if it's built as a submodule.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3368>

2 years agocleanup: Adapt to removed ClutterColor
Bilal Elmoussaoui [Wed, 24 Jan 2024 16:49:51 +0000 (17:49 +0100)]
cleanup: Adapt to removed ClutterColor

It was replaced by CoglColor

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3142>

2 years agoshell/app: Remove some dead code
Florian Müllner [Thu, 6 Jun 2024 13:31:34 +0000 (15:31 +0200)]
shell/app: Remove some dead code

`g_desktop_app_info_launch_uris_as_manager_with_fds()` was added
in GIO 2.57.2. We now depend on at least 2.79.2, so we no longer
need a fallback path for the case the function isn't available.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3361>

2 years agoci: Also store gvc subproject in artifacts
Florian Müllner [Thu, 13 Jun 2024 13:43:51 +0000 (15:43 +0200)]
ci: Also store gvc subproject in artifacts

After the subproject moved to a meson wrap, its checkout is no
longer managed by gitlab.

While meson will take care of checking out required submodules
during setup, this will not happen for `test` or `dist`, so store
the checked out code in artifacts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3370>

2 years agoci: De-duplicate build artifacts
Florian Müllner [Thu, 13 Jun 2024 17:08:42 +0000 (19:08 +0200)]
ci: De-duplicate build artifacts

Add an explicit dependency on the `build` job for `dist-tarball`,
so its artifacts are pulled in without re-exporting them from
the `distinfo` job.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3370>

2 years agoci: Use !reference tag for pipeline guard
Florian Müllner [Thu, 13 Jun 2024 15:46:16 +0000 (17:46 +0200)]
ci: Use !reference tag for pipeline guard

It's a bit more flexible than yaml anchors, and already used in
mutter for the same purpose.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3370>

2 years agoci: Bump mutter image
Florian Müllner [Thu, 13 Jun 2024 12:36:44 +0000 (14:36 +0200)]
ci: Bump mutter image

Mutter now depends on a newer wayland-server versions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3369>

2 years agotests: Adapt to Clutter.Color.to_pixel removal
Bilal Elmoussaoui [Tue, 11 Jun 2024 18:40:59 +0000 (20:40 +0200)]
tests: Adapt to Clutter.Color.to_pixel removal

By using the to_string representation instead

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367>

2 years agoui/background: Update default bg color
Bilal Elmoussaoui [Tue, 11 Jun 2024 17:09:23 +0000 (19:09 +0200)]
ui/background: Update default bg color

To match system_base_color from the theme
See
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367#note_2137704
for context

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367>

2 years agocleanup: Prefer using Color struct constructor
Bilal Elmoussaoui [Tue, 11 Jun 2024 00:15:28 +0000 (02:15 +0200)]
cleanup: Prefer using Color struct constructor

Instead of Color.from_pixel or Color.new as both would be removed
to simplify the Color API

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367>

2 years agoshell/screenshot: Don't use region type where rect is enough
Bilal Elmoussaoui [Mon, 10 Jun 2024 22:45:09 +0000 (00:45 +0200)]
shell/screenshot: Don't use region type where rect is enough

New API added in
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3801

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3366>

2 years agoci/toolbox: Install glib debuginfo package
Sebastian Wick [Mon, 10 Jun 2024 10:53:58 +0000 (12:53 +0200)]
ci/toolbox: Install glib debuginfo package

With this package, gdb is able to resolve GTypes and adds a few other
nice features. Let's install it by default.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3365>

2 years agooverviewControls: Make sure thumbnails expandFraction is bound to visibility
Jonas Dreßler [Fri, 31 May 2024 12:58:13 +0000 (15:58 +0300)]
overviewControls: Make sure thumbnails expandFraction is bound to visibility

We set the expand-fraction property of the workspace thumbnails on changes
to their should-show property. The should-show property defaults to true, and
the expand-fraction property defaults to 1. The should-show property gets
updated in the constructor of the ThumbnailsBox though, and it might become
false (that is the case when starting up the shell) during construction.

In this case we're not yet listening to "notify::should-show" in the
ControlsManager, and therefore forget to update the expand-fraction
accordingly. Fix that and ensure the expandFraction is always set to the value
we expect after hiding or showing the thumbnails (we call _updateThumbnailsBox()
from _update(), which we call in the constructor).

This should be the proper fix for the problem that 9bf550da8 (which caused
the workspace thumbnails to never show) originally tried to fix.

Fixes: 9bf550da88 ("overviewControls: Set expandFraction for ws thumbnails to 0 when hidden")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7668
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3323>

2 years agoportalHelper: Use default_size instead of set_size_request for size
Jonas Dreßler [Thu, 9 May 2024 08:03:23 +0000 (10:03 +0200)]
portalHelper: Use default_size instead of set_size_request for size

GtkWidget.set_size_request() enforces a minimum size, while
GtkWidget.set_default_size() simply sets the default size.

The docs of set_size_request() say "In most cases,
gtk_window_set_default_size() is a better choice for toplevel windows", and
in our case it doesn't seem necessary to prohibit the window from having a
smaller size, so switch to using the default_width and default_height
properties.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3307>

2 years agoRevert "ci: Temporarily disable flatpak jobs"
Jordan Petridis [Thu, 6 Jun 2024 09:34:11 +0000 (09:34 +0000)]
Revert "ci: Temporarily disable flatpak jobs"

This reverts commit 3e160d7b3151483915b5016b6af0b1445479823b

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3359>

2 years agodata: App icon for captive portal
Jakub Steiner [Wed, 5 Jun 2024 09:08:14 +0000 (11:08 +0200)]
data: App icon for captive portal

- Provide a custom app icon for the Captive Portal,
  only exposed in the overview.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3357>

2 years agokeyboard: Disable unredirection when the OSK is shown
Carlos Garnacho [Tue, 4 Jun 2024 16:24:25 +0000 (18:24 +0200)]
keyboard: Disable unredirection when the OSK is shown

The OSK might be wanted over fullscreen windows triggering
unredirection, and the unredirection should be temporarily
overridden in that case.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7692
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3356>

2 years agoci: Temporarily disable flatpak jobs
Florian Müllner [Wed, 5 Jun 2024 09:39:32 +0000 (11:39 +0200)]
ci: Temporarily disable flatpak jobs

The template currently fails with the deployed gitlab/podman.

Let's not block all merge requests on a job that is only relevant
to the Extensions app, so disable it temporarily until the issue
is sorted.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3358>

2 years agoci: Add missing dependency
Florian Müllner [Wed, 5 Jun 2024 11:04:30 +0000 (13:04 +0200)]
ci: Add missing dependency

The job that publishes the flatpak depends on the job that builds
the flatpak ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3358>

2 years agoshell-util: Pass the mutter context to the spawn child setup function
Marco Trevisan (Treviño) [Fri, 31 May 2024 14:46:14 +0000 (16:46 +0200)]
shell-util: Pass the mutter context to the spawn child setup function

This was the type the function expected, but we were actually passing
the global context to it.

This didn't crash for some reason, but indeed it was wrong and we didn't
catch it because mutter side had not type-checks either

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3355>

2 years agoci: Don't set GIT_SUBMODULE_STRATEGY anymore
Jonas Ådahl [Thu, 30 May 2024 22:22:11 +0000 (00:22 +0200)]
ci: Don't set GIT_SUBMODULE_STRATEGY anymore

We don't use submodules anymore, so no point configuring the submodule
strategy to use.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3353>

2 years agoSwitch to fetching gvc via a meson subproject
Jonas Ådahl [Thu, 30 May 2024 19:52:29 +0000 (21:52 +0200)]
Switch to fetching gvc via a meson subproject

Hopefully this will avoid the accidental subprojects/gvc changes.

Developers need to switch from doing

    git submodule update

to

    meson subprojects update

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3353>

2 years agodbusServices/extensions: Await prefs.fillPreferencesWindow
Leleat [Tue, 28 May 2024 11:56:49 +0000 (13:56 +0200)]
dbusServices/extensions: Await prefs.fillPreferencesWindow

There are cases where it makes sense to have fillPreferencesWindow be
async, so await it. One such case is when using .ui files from resources
with (GTK) templates. When extension developers load the resource in
`fillPreferencesWindow` and then import the js file that registers the
classes, there will be an error at the moment that there is no UI
provided. Similarly, make getPreferencesWidget async optionally.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3348>

2 years agomessageTray: Ensure _updateDatetimeId idle callback is cancelled
Philip Withnall [Tue, 28 May 2024 17:05:10 +0000 (18:05 +0100)]
messageTray: Ensure _updateDatetimeId idle callback is cancelled

If the idle callback is not explicitly removed when the notification is
destroyed, it may be invoked after destruction, and try to modify the
notification after it’s been freed.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3352>

2 years agoshell-camera-monitor: Fix warning about strict aliasing
Philip Withnall [Tue, 28 May 2024 17:08:27 +0000 (18:08 +0100)]
shell-camera-monitor: Fix warning about strict aliasing

Changing type when casting a double pointer is not strictly allowed in
C. In order to fix compilation with `-fstrict-aliasing`, don’t use
`g_clear_pointer()` for clearing this pointer where the type expected by
the destroy notify function does not match the type stored in the
`ShellCameraMonitor` struct.

This introduces no functional changes.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3351>

2 years agodocs: Fix typo in link to meta-docs
Mister Smör [Tue, 28 May 2024 15:11:11 +0000 (15:11 +0000)]
docs: Fix typo in link to meta-docs

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3349>

2 years agoci: Bump ci-fairy template
Florian Müllner [Tue, 28 May 2024 16:25:15 +0000 (18:25 +0200)]
ci: Bump ci-fairy template

The new version allows @users.noreply email addresses by default,
which seems like something we should allow at least for small
drive-by contributions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3350>

2 years agoUpdate Portuguese translation
Hugo Carvalho [Tue, 28 May 2024 09:13:00 +0000 (09:13 +0000)]
Update Portuguese translation

2 years agoUpdate Slovak translation
Jose Riha [Mon, 27 May 2024 20:45:04 +0000 (20:45 +0000)]
Update Slovak translation

(cherry picked from commit 5c2f9fd94883cf37af4117ad75823f7b76366736)

2 years agoUpdate Russian translation
Artur S0 [Mon, 27 May 2024 10:22:50 +0000 (10:22 +0000)]
Update Russian translation

2 years agost/scroll-view-fade: Cleanup unecessary vfunc override
Georges Basile Stavracas Neto [Sun, 26 May 2024 13:50:02 +0000 (15:50 +0200)]
st/scroll-view-fade: Cleanup unecessary vfunc override

It does exactly what ClutterOffscreenEffect does these days.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3347>

2 years agobuild: Make use of the x11 dependency
Bilal Elmoussaoui [Sat, 25 May 2024 08:29:28 +0000 (10:29 +0200)]
build: Make use of the x11 dependency

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3344>

2 years agobuild: Remove unnused dependencies
Bilal Elmoussaoui [Sat, 25 May 2024 08:28:51 +0000 (10:28 +0200)]
build: Remove unnused dependencies

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3344>

2 years agojs/environment: Always use Shell.util_spawn_async functions if possible
Marco Trevisan (Treviño) [Fri, 3 May 2024 16:13:37 +0000 (18:13 +0200)]
js/environment: Always use Shell.util_spawn_async functions if possible

If no child setup is provided then all the shell extensions that use
GLib.spawn_async should actually use the shell spawning utils since we
are supposed to always restore the default nofile rlimit on launched
children.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>

2 years agojs/environment: Add GLib spawn async overrides warning when using child setup
Marco Trevisan (Treviño) [Tue, 30 Apr 2024 23:17:10 +0000 (01:17 +0200)]
js/environment: Add GLib spawn async overrides warning when using child setup

Using child setup functions is unsafe in gjs code so let's warn if this
happens so that extensions using a similar codepath are warned.

This could be also part of gjs, but we provide a shell override since we
have alternatives to log about.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>

2 years agojs: Use Shell.util_spawn_async functions to launch external processes
Marco Trevisan (Treviño) [Tue, 30 Apr 2024 23:14:43 +0000 (01:14 +0200)]
js: Use Shell.util_spawn_async functions to launch external processes

As explained in previous commits, it's not safe to use JS code in child
function callbacks, so let's use the safer version of it.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6698
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>

2 years agoshell-util: Add async-signal-safe wrappers for GLib.spawn_async implementations
Marco Trevisan (Treviño) [Tue, 30 Apr 2024 22:27:19 +0000 (00:27 +0200)]
shell-util: Add async-signal-safe wrappers for GLib.spawn_async implementations

In the shell code we often use GLib.spawn_async to launch processes
with a GSpawnChildSetupFunc implementation in JavaScript to reset the
mutter nofile rlimit in the new child process.

However, this is highly unsafe to do because this implies that the child
setup function code is executed in gjs where a lot of allocations are
done and even more not-async-signal-safe code is executed, in fact
leading to dead-locks as reported in the past.

To prevent this, declare a new functions that do the same of the GLib
counterpart but without providing a GSpawnChildSetupFunc that is instead
implemented in the C-side doing the cleanup that mutter requires without
allocations or async-signal-unsafe code.

Helps: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6698
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>

2 years agoshell-app: Do not allocate memory during GSpawnChildSetupFunc
Marco Trevisan (Treviño) [Tue, 30 Apr 2024 21:45:04 +0000 (23:45 +0200)]
shell-app: Do not allocate memory during GSpawnChildSetupFunc

The child context setup function used as launch GSpawnChildSetupFunc
uses g_object_get that internally potentially allocates memory, making
it not async-signal-safe and so not something that is safe to use in
between fork and exec, so just use the simpler getter here.

Note that the current implementation of app_child_setup() is safe
already as sd_journal_stream_fd, dup2 and close are so.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>

2 years agoci: Hook up release-module
Florian Müllner [Thu, 23 May 2024 17:11:42 +0000 (19:11 +0200)]
ci: Hook up release-module

In the future, the module will automate uploading the release
tarball. We already use the CI pipeline to generate the tarball,
so it's easy to hook up the module and provide some testing
before the module goes into production.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3340>

2 years agoci: Use `meson introspect` to generate artifact path
Florian Müllner [Thu, 23 May 2024 22:07:11 +0000 (00:07 +0200)]
ci: Use `meson introspect` to generate artifact path

We currently assume that the `CI_COMMIT_TAG` variable matches the
version component of the generated dist tarball.

That is usually correct, but sometimes errors happen and a wrong
tag is pushed, and the real release uses something like "46.0-real".

Account for that by building the artifact path from `meson introspect`
and exporting it as environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3340>

2 years agowindow/menu: Remove move titlebar onscreen action
Bilal Elmoussaoui [Tue, 21 May 2024 19:46:06 +0000 (21:46 +0200)]
window/menu: Remove move titlebar onscreen action

A feature that works for server side decorated windows only that
only adds slightly more convenience over the regular "move" action that
is still there.
Keeping it around would complicate some cleanups in upstream Mutter
so just drop it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3332>

2 years agokeyboard: Add za-extended keyboard layout
Michael Evans [Thu, 9 May 2024 19:31:32 +0000 (21:31 +0200)]
keyboard: Add za-extended keyboard layout

Adds an extended variant of the za keyboard layout based on the za.json
and us-extended.json layouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3309>

2 years agostyle: Don't use different offset for the HC app grid running indicator
Sebastian Keller [Tue, 21 May 2024 23:45:44 +0000 (01:45 +0200)]
style: Don't use different offset for the HC app grid running indicator

The offset in high contrast mode was moving the dot too close to the
text making the spacing between the text, dot and hover highlight appear
visually unbalanced. Also it was making it more likely to overlap
descenders in the text.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3245>

2 years agostyle: Shift dash running indicator dot up a pixel in high contrast mode
Sebastian Keller [Wed, 22 May 2024 00:04:53 +0000 (02:04 +0200)]
style: Shift dash running indicator dot up a pixel in high contrast mode

With the dot now being placed correctly at the bottom of the hover
highlight it is now also overlapping the 1px inset shadow used as
outline in high contrast mode. To avoid this, shift the dot up
accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3245>

2 years agoappDisplay: Set running indicator dot offset via CSS
Sebastian Keller [Sun, 17 Mar 2024 11:43:03 +0000 (12:43 +0100)]
appDisplay: Set running indicator dot offset via CSS

The offset was given as a hardcoded (physical) pixel value and did not
take scaling into account. This lead to it being shifted closer towards
the icon as the scale increased.

This now replaces the hardcoded value with a CSS property which
automatically includes the scale factor.

Further this allows simplifying some calculations that previously were
trying to counteract the hardcoded offset using margins by using the
intended offset directly.

With this the dot in the dash is also now placed at exactly the bottom
of the hover highlight, while previously there was an unintentional 1px
space.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7488
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3245>

2 years agoci: Bump mutter image
Florian Müllner [Wed, 22 May 2024 18:52:55 +0000 (20:52 +0200)]
ci: Bump mutter image

Mutter bumped its wayland-protocols dependency, so update the
image to pull it in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3337>

2 years agoworkspaceThumbnails: Update target scale when fully unexpanded
Florian Müllner [Mon, 20 May 2024 18:26:42 +0000 (20:26 +0200)]
workspaceThumbnails: Update target scale when fully unexpanded

We currently only update the scale when fully expanded. In order
to fix the initial expand transition, also update the scale
when fully unexpanded.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3331>

2 years agoworkspaceThumbnail: Don't rely on allocation to compute scale
Florian Müllner [Mon, 20 May 2024 18:22:11 +0000 (20:22 +0200)]
workspaceThumbnail: Don't rely on allocation to compute scale

We currently compute the target scale from the allocated height,
which means that it only becomes available after thumbnails have
been allocated at least once at their expanded height.

As the minimap is initially hidden, this only happens after it is
expanded for the first time, which means the corresponding transition
is not animated.

In order to allow for a fix, compute the target height ourselves
to allow the scale computation to work independently from the
expand factor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3331>

2 years agoauthPrompt: Consume cancel key event
Florian Müllner [Tue, 14 May 2024 23:55:40 +0000 (01:55 +0200)]
authPrompt: Consume cancel key event

The auth prompt currently propagates all key presses, even the
Escape press that is used to cancel it.

On the lock screen that means that the same event that cancels
the prompt (and switches back to the clock) is *also* propagated
to the handler that activates the prompt on key press.

That handler doesn't do anything when the prompt is already visible,
which is the case when the transition to the clock is animated.

However when animations are disabled, canceling the prompt will
result in a new prompt getting created immediately, and the login
screen is stuck on the prompt.

Fix this by not propagating key events that are used to cancel
the prompt.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3317>

2 years agoauthPrompt: Use signal handler instead of vfunc
Florian Müllner [Tue, 14 May 2024 17:49:56 +0000 (19:49 +0200)]
authPrompt: Use signal handler instead of vfunc

The prompt itself may get destroyed when canceled, in which
case it is no longer possible to chain up in the vfunc.

This is usually not an issue as the prompt is only destroyed
at the end of a transition, but it results in a warning if
animations are disabled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3317>

2 years agotests: Remove assertArraysEqual()
Florian Müllner [Fri, 1 Mar 2024 17:28:08 +0000 (18:28 +0100)]
tests: Remove assertArraysEqual()

It is tied to the legacy jsUnit framework and now unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>

2 years agotests: Port GNOMEversionCompare() test to jasmine
Florian Müllner [Sat, 20 Jan 2024 07:00:39 +0000 (08:00 +0100)]
tests: Port GNOMEversionCompare() test to jasmine

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>

2 years agotests: Port findUrl() test to jasmine
Florian Müllner [Sat, 20 Jan 2024 08:37:54 +0000 (09:37 +0100)]
tests: Port findUrl() test to jasmine

Based on https://bugzilla.gnome.org/show_bug.cgi?id=783738
from Sam Spilsbury.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>

2 years agotests: Port signalTracker test to jasmine
Florian Müllner [Sun, 21 Jan 2024 19:46:07 +0000 (20:46 +0100)]
tests: Port signalTracker test to jasmine

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>